package com.ybkj.daijia.server.mapper;

import com.ybkj.daijia.server.model.UsuallyEmploy;
import com.ybkj.daijia.server.model.UsuallyEmploy.ServiceType;
import java.util.List;
import org.apache.ibatis.annotations.Param;


public interface UsuallyEmployMapper {

    /**
     * 保存常用司机信息
     *
     * @param record
     * @return
     */
    int insertRecord(UsuallyEmploy record);

    /**
     * 根据主键查询常用司机
     *
     * @param id
     * @return
     */
    UsuallyEmploy selectByPrimaryKey(Long id);

    /**
     * 根据一组主键查询常用司机
     *
     * @param ids
     * @return
     */
    List<UsuallyEmploy> selectByIdIn(Long[] ids);

    /**
     * 根据司机主键和会员电话查询常用司机
     *
     * @param driverId
     * @param phone
     * @return
     */
    UsuallyEmploy selectByEmployAndPassenger(@Param("employId") Long employId,
        @Param("passengerId") Long passengerId, @Param("serviceType") ServiceType serviceType);

    /**
     * 根据主键删除常用司机
     *
     * @param id
     * @return
     */
    int deleteByPrimaryKey(Long id);

    /**
     * 根据司机删除常用司机
     *
     * @param id
     * @return
     */
    int deleteByEmploy(Long employId);

    /**
     * 根据会员信息查询常用司机，并且填充Driver字段
     *
     * @param memberId
     * @return
     */
    List<UsuallyEmploy> selectByPassenger(@Param("passengerId") Long passengerId,
        @Param("serviceType") String serviceType);

    /**
     * 根据会员分页查询常用司机
     *
     * @param passengerId
     * @param offset
     * @param size
     * @return
     */
    List<UsuallyEmploy> findByPassenger(@Param("passengerId") Long passengerId,
        @Param("offset") Integer offset, @Param("size") Integer size);

    long countByPassenger(@Param("passengerId") Long passengerId);


}
